1. Field of the Invention
This invention relates to service level agreements, and more particularly to apparatus and methods for modeling, validating, and monitoring service level agreements.
2. Background of the Invention
The ubiquity of the Internet has significantly transformed how modern-day businesses operate. For example, many companies now automate their business processes and make them accessible through the Internet as Web services. Entities can subscribe to these Web services and integrate them into their own business processes by invoking these services on demand. For example, many banks do not allocate resources to record and maintain the credit histories of their customers or potential customers. In order for the bank to determine a customer's credit rating, it may subscribe to a credit-check service from a third party and integrate this service into its own business process, such as a loan approval process.
As entities exchange services such as Web services, mechanisms are needed to ensure that the services are provided with the qualities of service agreed upon or expected by the entities. These qualities of service are often expressed in service level agreements (SLAs). An SLA may be viewed as a contract between a service provider and a service consumer. It may define the quality of service that the provider and consumer agree to deliver and consume, respectively. In certain cases, the SLA may also specify appropriate actions to be taken if the terms of the agreement are violated. For example, a service provider may incur a penalty (e.g., a fee) if a service is not provided in the agreed upon manner.
To ensure that the parties comply with an SLA, one or both parties may monitor a business process to detect violations. However, as more services have become automated and accessible online, monitoring has become more complicated and manual monitoring has become less feasible. In addition, implementing an automated monitoring process requires significant expertise and manpower because a customized solution is often needed. As a result, developers typically have to use various technologies to deliver a suitable monitoring solution, a process that often requires significant effort and expertise. Furthermore, the resulting solution is typically nonstandard, ad hoc, error-prone, and not optimized for performance.
In view of the foregoing, what is needed is an apparatus and method to simplify the modeling, validating, and monitoring of SLAs. Ideally, such an apparatus and method would provide loose coupling between business process artifacts and SLA artifacts, allowing the two to be developed independently and without the need to regularly synchronize the two. Such an apparatus and method would also ideally provide high modularity and extensibility. Yet further needed is a runtime architecture to effectively enforce an SLA. Ideally, the runtime architecture will include a validation framework that ensures that an SLA is applicable to a business process.